package com.doubao.common.utils;

import cn.hutool.crypto.digest.DigestUtil;
import org.apache.commons.lang3.StringUtils;

/**
 * 安全工具类
 */
public class SecurityUtil {

    /**
     * 密码加密盐值
     */
    private static final String SALT = "doubao_salt";

    /**
     * 私有构造方法，防止实例化
     */
    private SecurityUtil() {
    }

    /**
     * 密码加密
     *
     * @param password 原始密码
     * @return 加密后的密码
     */
    public static String encryptPassword(String password) {
        if (StringUtils.isBlank(password)) {
            return null;
        }
        return DigestUtil.md5Hex(password + SALT);
    }

    /**
     * 密码校验
     *
     * @param password          原始密码
     * @param encryptedPassword 加密后的密码
     * @return 是否匹配
     */
    public static boolean matchPassword(String password, String encryptedPassword) {
        if (StringUtils.isBlank(password) || StringUtils.isBlank(encryptedPassword)) {
            return false;
        }
        return encryptedPassword.equals(encryptPassword(password));
    }
}